from typing import List


# 49. 字母异位词分组
# 给你一个字符串数组，请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
# 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

def groupAnagrams(strs: List[str]) -> List[List[str]]:
    group_dict = {}
    for str_ in strs:
        sorted_str = "".join(sorted(str_))
        origin_list = group_dict.get(sorted_str)
        if origin_list is None:
            group_dict[sorted_str] = [str_]
        else:
            origin_list.append(str_)
    return [temp for temp in group_dict.values()]


strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
result = groupAnagrams(strs)
print(f"result:{result}")
